Reactã®å®éšçæ©èœ `_tracingMarker` ãæ¢æ±ãã詳现ãªããã©ãŒãã³ã¹ããŒã¿ã®åéãšéçŽãè¡ããã°ããŒãã«ãªéçºè ã«å®è·µçãªã€ã³ãµã€ããæäŸããŸãã
ããã©ãŒãã³ã¹ã€ã³ãµã€ãã®è§£æŸïŒReactã®å®éšçæ©èœ `_tracingMarker` ã«ããããŒã¿åéãšéçŽ
çµ¶ããé²åããWebéçºã®äžçã«ãããŠãããã©ãŒãã³ã¹ã¯åãªãæ©èœã§ã¯ãªããæ±ºå®çãªå·®å¥åèŠå ã§ããReactã§æ§ç¯ãããã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠãããã©ãŒãã³ã¹ãçè§£ãæé©åããããšã¯ãã·ãŒã ã¬ã¹ã§é
åçãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããããã®æéèŠèª²é¡ã§ããReactã¯ä»¥åããããã©ãŒãã³ã¹åæã®ããã®éçºè
ããŒã«ãæäŸããŠããŸããããæè¿ã®å®éšçãªé²æ©ã¯ãããã«æ·±ãã€ã³ãµã€ããæäŸããããšãçŽæããŠããŸãããã®èšäºã§ã¯ãReactå
ã§ã® _tracingMarker ããŒã¿åéãšããã©ãŒãã³ã¹ããŒã¿éçŽãšãããåºæ¿çãã€å®éšçãªé åãæãäžãããã®å¯èœæ§ãšå¿çšã«ã€ããŠã°ããŒãã«ãªèŠç¹ããèå¯ããŸãã
ã°ããŒãã«åããããžã¿ã«äžçã«ãããããã©ãŒãã³ã¹ã®éèŠæ§
ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ãã¿ãŒã²ããã«ããéçºè
ã«ãšã£ãŠãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã®éèŠæ§ã¯ããã匷調ããŠããéããããšã¯ãããŸãããç°ãªã倧éžãæ§ã
ãªã€ã³ã¿ãŒãããé床ãããã€ã¹èœåããããã¯ãŒã¯ç¶æ³ã®ãŠãŒã¶ãŒã¯ãã¢ããªã±ãŒã·ã§ã³ãè¿
éã«èªã¿èŸŒãŸããå³åº§ã«åå¿ããããšãæåŸ
ããŠããŸããåäœã®é
ãã¢ããªã±ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒã®äžæºãé«ãçŽåž°çããããŠæçµçã«ã¯ããžãã¹æ©äŒã®æå€±ã«ã€ãªããå¯èœæ§ããããŸãããããã£ãŠãå
ç¢ãªããã©ãŒãã³ã¹ç£èŠãšæé©åæŠç¥ãäžå¯æ¬ ã§ãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããããã®æã人æ°ã®ããJavaScriptã©ã€ãã©ãªã®äžã€ã§ããReactã¯ãéçºè
ã髿§èœãªã¢ããªã±ãŒã·ã§ã³ãäœæããäžã§éèŠãªåœ¹å²ãæãããŠããŸãã_tracingMarkerã®ãããªå®éšçæ©èœã®å°å
¥ã¯ããããã®èœåãããã«åŒ·åãããšããã³ãããã¡ã³ãã瀺ããŠããŸãã
Reactã®ããã©ãŒãã³ã¹ç£èŠããŒã«ãçè§£ããïŒç°¡åãªæŠèŠ
_tracingMarkerã®è©³çްã«ç«ã¡å
¥ãåã«ãReactã®æ¢åã®ããã©ãŒãã³ã¹ç£èŠæ©èœã«ã€ããŠç°¡åã«è§ŠããŠããããšãæçã§ããChromeãšFirefoxã®ãã©ãŠã¶æ¡åŒµæ©èœã§ããReact Developer Toolsã¯ãéçºè
ãã³ã³ããŒãã³ãã®ã¬ã³ããªã³ã°ããããã¡ã€ã«ããããã«ããã¯ãç¹å®ããã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ãçè§£ããäžã§éåžžã«åœ¹ç«ã£ãŠããŸããããProfilerãã¿ãã®ãããªæ©èœã«ãããéçºè
ã¯ã€ã³ã¿ã©ã¯ã·ã§ã³ãèšé²ããã¬ã³ããªã³ã°æéãåæããã³ãããæéãèŠèŠåããããšãã§ããŸãããããããããã®ããŒã«ã¯ã¹ãããã·ã§ãããæäŸããããšãå€ããç¹å®ã®ã·ããªãªã®ããŒã¿ãåéããããã«ã¯æåã§ã®æäœãå¿
èŠã§ããããèªååãããç²åºŠãé«ããéçŽå¯èœãªããã©ãŒãã³ã¹ããŒã¿ã®å¿
èŠæ§ãæããã«ãªã£ãŠããŸããã
å®éšçæ©èœ `_tracingMarker` ã®ç޹ä»
_tracingMarkerã¯ãReactå
ã®å®éšçæ©èœã§ãããããã©ãŒãã³ã¹ããŒã¿ãèšæž¬ã»åéããããã®ããæšæºåãããããã°ã©ã çãªæ¹æ³ãæäŸããããšãç®çãšããŠããŸãããã®äžå¿çãªæŠå¿µã¯ãReactã¢ããªã±ãŒã·ã§ã³ã®å®è¡ãããŒã«ãããç¹å®ã®ãã€ã³ããããŒã¯ããããšã§ãããããã®ããŒã«ãŒã¯ãæ§ã
ãªæäœã®æéãæž¬å®ããã€ãã³ãã®ã¿ã€ãã³ã°ã远跡ããæçµçã«ã¯ãã®ããŒã¿ãéçŽããŠå
æ¬çãªããã©ãŒãã³ã¹åæãè¡ãããã«äœ¿çšã§ããŸãã
`_tracingMarker` ã¯äœãå¯èœã«ãããïŒ
- ç²åºŠã®é«ãèšæž¬ïŒ éçºè ã¯ãç¹å®ã®ã³ãŒãã»ã°ã¡ã³ããã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ã¡ãœããããŸãã¯ã«ã¹ã¿ã ããžãã¯ã®åšå²ã«ããŒã«ãŒãé 眮ããŠããã®å®è¡æéãæ£ç¢ºã«æž¬å®ã§ããŸãã
- ã€ãã³ãã¿ã€ãã³ã°ïŒ ã¹ããŒãã®æŽæ°ãã³ã³ããŒãã³ãã«ãã£ãŠããªã¬ãŒããããããã¯ãŒã¯ãªã¯ãšã¹ãããŸãã¯è€éãªèšç®ã®å®äºãªã©ãReactãšã³ã·ã¹ãã å ã®åå¥ã®ã€ãã³ãã®ã¿ã€ãã³ã°ã枬å®ã§ããŸãã
- èªåããŒã¿åéïŒ æåã®ãããã¡ã€ãªã³ã°ã»ãã·ã§ã³ãšã¯ç°ãªãã
_tracingMarkerã¯ã¢ããªã±ãŒã·ã§ã³ã®å®è¡äžã«ããã©ãŒãã³ã¹ããŒã¿ãåéããããšã容æã«ããŸããããã¯ïŒæ éãªæ€èšã®ããšïŒæ¬çªç°å¢ã§ãå¯èœã§ãã - ããŒã¿éçŽã®å¯èœæ§ïŒ ãããã®ããŒã«ãŒã«ãã£ãŠåéãããæ§é åããŒã¿ã¯éçŽã«æé©ã§ããããã¬ã³ãã®åæãå ±éã®ããã©ãŒãã³ã¹åé¡ã®ç¹å®ãããã³ç°ãªããŠãŒã¶ãŒã»ãã·ã§ã³ãç°å¢éã§ã®æ¯èŒãå¯èœã«ããŸãã
`_tracingMarker` ã®æŠå¿µçãªä»çµã¿
_tracingMarker ã®æ žå¿ã¯ãHigh Resolution Time APIãPerformance Timeline APIãªã©ã®ãã©ãŠã¶ã®ããã©ãŒãã³ã¹APIãæŽ»çšããããç¬èªã®ã¿ã€ãã³ã°ã¡ã«ããºã ãå®è£
ããããšã«ãã£ãŠæ©èœããŸãã_tracingMarker ã«ééãããšãéå§æå»ãèšé²ã§ããŸãã察å¿ããçµäºããŒã«ãŒã«å°éããããç¹å®ã®æäœãå®äºãããšãæéãèšç®ãããŠä¿åãããŸãããã®ããŒã¿ã¯éåžžãããã©ãŒãã³ã¹ç£èŠã·ã¹ãã ã«ãã£ãŠåéãããŸãã
_tracingMarker ãå®éšçã§ãããšããããšã¯ããã®APIãå®è£
ã®è©³çްã倿Žãããå¯èœæ§ãããããšãæå³ããŸããããããããã©ãŒãã³ã¹æž¬å®ã®ããã«ååä»ãããŒã«ãŒã§ã³ãŒããèšæž¬ãããšããæ ¹æ¬çãªååã¯äžè²«ããŠããŸãã
`_tracingMarker` ãçšããããŒã¿åéæŠç¥
_tracingMarker ã®æå¹æ§ã¯ãããã©ãŒãã³ã¹ããŒã¿ãã©ãã ã广çã«åéããããã«ããã£ãŠããŸããããã«ã¯ãããŒã«ãŒã®æŠç¥çãªé
眮ãšå
ç¢ãªããŒã¿åéã¡ã«ããºã ãé¢ãã£ãŠããŸãã
æŠç¥çãªããŒã«ãŒã®é 眮
_tracingMarker ã®çã®åã¯ãææ
®æ·±ãé
眮ããçãŸããŸãã以äžã®é åãæ€èšããŠãã ããïŒ
- ã³ã³ããŒãã³ãã®ã¬ã³ããŒãµã€ã¯ã«ïŒ ã³ã³ããŒãã³ãã®ã¬ã³ããªã³ã°ããã»ã¹ã®éå§ãšçµäºãããŒã¯ããããšã§ãç¹ã«æŽæ°æã«ã©ã®ã³ã³ããŒãã³ãã®ã¬ã³ããªã³ã°ã«æãæéãããã£ãŠããããæããã«ã§ããŸããããã¯ãäžå¿ èŠã«åã¬ã³ããªã³ã°ãããã³ã³ããŒãã³ããç¹å®ããããã«éèŠã§ããäŸãã°ãåçãªååãªã¹ããæã€è€éãªeã³ããŒã¹ãã©ãããã©ãŒã ã§ã¯ãåã ã®ååã«ãŒãã®ã¬ã³ããªã³ã°ãããŒã¯ããããšã§ãæ€çŽ¢ããã£ã«ã¿ãŒé©çšæã®ããã©ãŒãã³ã¹åé¡ãç¹å®ã§ããŸãã
- ããŒã¿ãã§ãããšåŠçïŒ APIåŒã³åºããããŒã¿å€æãããã³ããŒã¿ãã§ããã«é¢é£ããã¹ããŒãæŽæ°ã®ã©ã€ããµã€ã¯ã«ãèšæž¬ããããšã§ããããã¯ãŒã¯ã®é å»¶ãéå¹çãªããŒã¿åŠçãæµ®ã圫ãã«ã§ããŸããè€æ°ã®APIãããã©ã€ãããŒã¿ãååŸããæ è¡äºçŽã¢ããªã±ãŒã·ã§ã³ãæ³åããŠã¿ãŠãã ãããåãã§ãããšãã®åŸã®ããŒã¿åŠçã¹ããããããŒã¯ããããšã§ãã©ã®APIãé ããããŸãã¯ã¯ã©ã€ã¢ã³ããµã€ãã®åŠçãããã«ããã¯ã«ãªã£ãŠããããæããã«ã§ããŸãã
- ãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ïŒ ãã¿ã³ã®ã¯ãªãã¯ããã©ãŒã ã®éä¿¡ãæ€çŽ¢ã¯ãšãªãªã©ãéèŠãªãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ã«ãããæéãæž¬å®ããããšã§ããŠãŒã¶ãŒãäœæããããã©ãŒãã³ã¹ã«é¢ããçŽæ¥çãªã€ã³ãµã€ããåŸãããŸãããœãŒã·ã£ã«ã¡ãã£ã¢ã¢ããªã±ãŒã·ã§ã³ã§ã¯ããŠãŒã¶ãŒãã³ã¡ã³ããæçš¿ããŠããç»é¢ã«è¡šç€ºããããŸã§ã®æéãããŒã¯ããããšããéèŠãªããã©ãŒãã³ã¹ææšãšãªããŸãã
- ãµãŒãããŒãã£çµ±åïŒ ã¢ããªã±ãŒã·ã§ã³ããµãŒãããŒãã£ã®ã¹ã¯ãªãããSDKïŒäŸïŒåæãåºåããã£ããçšïŒã«äŸåããŠããå Žåããããã®çµ±åã®å®è¡æéãããŒã¯ããããšã§ãå€éšèŠå ã«ããããã©ãŒãã³ã¹ã®äœäžãç¹å®ããã®ã«åœ¹ç«ã¡ãŸããããã¯ããµãŒãããŒãã£ãªãœãŒã¹ã«å¯ŸããŠæ§ã ãªãããã¯ãŒã¯ç¶æ³ãçµéšããå¯èœæ§ã®ããã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠç¹ã«éèŠã§ãã
- è€éãªããžãã¹ããžãã¯ïŒ éèã¢ããªã³ã°ããŒã«ãããŒã¿å¯èŠåãã©ãããã©ãŒã ãªã©ãèšç®è² è·ã®é«ãããžãã¯ãæã€ã¢ããªã±ãŒã·ã§ã³ã§ã¯ããããã®ã³ã¢ããžãã¯ãããã¯ã®å®è¡ãããŒã¯ããããšããèšç®ããã©ãŒãã³ã¹ãçè§£ãæé©åããããã«äžå¯æ¬ ã§ãã
ããŒã¿ã®åé
ããŒã«ãŒãé 眮ãããããåéãããããŒã¿ãéããå¿ èŠããããŸããããã€ãã®ã¢ãããŒããæ¡çšã§ããŸãïŒ
- ãã©ãŠã¶éçºè ããŒã«ïŒ ããŒã«ã«ã§ã®éçºããããã°ã§ã¯ããã©ãŠã¶éçºè ããŒã«ïŒChrome DevToolsã®ãPerformanceãã¿ããªã©ïŒãReactã®å®éšçãªãã¬ãŒã¹ã¡ã«ããºã ããã®ããŒã¿ãè§£éã»è¡šç€ºãã峿ã®èŠèŠçãªãã£ãŒãããã¯ãæäŸããããšããããããŸãã
- ã«ã¹ã¿ã ãã®ã³ã°ïŒ éçºè ã¯ãããŒã«ãŒããŒã¿ããã£ããã£ããéçºäžã®åæã®ããã«ã³ã³ãœãŒã«ãããŒã«ã«ãã¡ã€ã«ã«éä¿¡ããã«ã¹ã¿ã ãã®ã³ã°ãœãªã¥ãŒã·ã§ã³ãå®è£ ã§ããŸãã
- ããã©ãŒãã³ã¹ç£èŠãµãŒãã¹ (PMS)ïŒ æ¬çªç°å¢ã§ã¯ãå°éã®ããã©ãŒãã³ã¹ç£èŠãµãŒãã¹ãšã®çµ±åãæãã¹ã±ãŒã©ãã«ã§å¹æçãªã¢ãããŒãã§ãããããã®ãµãŒãã¹ã¯ãäžçäžã®å€æ°ã®ãŠãŒã¶ãŒããããã©ãŒãã³ã¹ããŒã¿ãåéãéçŽãå¯èŠåããããã«èšèšãããŠããŸããäŸãšããŠã¯ãSentry, Datadog, New RelicããŸãã¯OpenTelemetryã®ãããªããŒã«ã§æ§ç¯ãããã«ã¹ã¿ã ãœãªã¥ãŒã·ã§ã³ããããŸãã
PMSãšçµ±åããéã_tracingMarker ã«ãã£ãŠåéãããããŒã¿ã¯éåžžããŠãŒã¶ãŒIDãããã€ã¹ã¿ã€ãããã©ãŠã¶ãå°ççäœçœ®ãªã©ã®ã³ã³ããã¹ãã§è£åŒ·ãããã«ã¹ã¿ã ã€ãã³ããŸãã¯ã¹ãã³ãšããŠéä¿¡ãããŸãããã®ã³ã³ããã¹ãã¯ãã°ããŒãã«ãªããã©ãŒãã³ã¹åæã«ãšã£ãŠæ¥µããŠéèŠã§ãã
ããã©ãŒãã³ã¹ããŒã¿ã®éçŽïŒçããŒã¿ãå®è·µçãªã€ã³ãµã€ãã«å€ãã
çã®ããã©ãŒãã³ã¹ããŒã¿ã¯æçã§ããäžæ¹ããã°ãã°å§åçã§ããçã®äŸ¡å€ã¯ããã®ããŒã¿ãéçŽããããã¬ã³ãããã¿ãŒã³ãæããã«ããããã«åæããããšãã«çŸããŸãã_tracingMarker ãçšããããã©ãŒãã³ã¹ããŒã¿ã®éçŽã¯ã倿§ãªãŠãŒã¶ãŒã»ã°ã¡ã³ããç°å¢ã«ãããã¢ããªã±ãŒã·ã§ã³ã®æåãããæ·±ãçè§£ããããšãå¯èœã«ããŸãã
äž»èŠãªéçŽã¡ããªã¯ã¹
_tracingMarker ãä»ããŠåéãããããŒã¿ãéçŽããéã¯ã以äžã®äž»èŠãªã¡ããªã¯ã¹ã«çŠç¹ãåœãŠãŠãã ããïŒ
- å¹³åå€ãšäžå€®å€ïŒ ããæäœã«ãããå žåçãªæéãçè§£ããããšã¯ãããŒã¹ã©ã€ã³ãæäŸããŸããäžå€®å€ã¯å¹³åå€ãããå€ãå€ã«å¯ŸããŠé å¥ã§ããããšãå€ãã§ãã
- ããŒã»ã³ã¿ã€ã« (äŸïŒ95ããŒã»ã³ã¿ã€ã«, 99ããŒã»ã³ã¿ã€ã«)ïŒ ãããã®ã¡ããªã¯ã¹ã¯ããŠãŒã¶ãŒããŒã¹ã®äžã§æãé ãã»ã°ã¡ã³ããçµéšããããã©ãŒãã³ã¹ãæããã«ããå°æ°æŽŸãªãããéèŠãªãŠãŒã¶ãŒã«åœ±é¿ãäžããå¯èœæ§ã®ããé倧ãªåé¡ãæµ®ã圫ãã«ããŸãã
- æäœã«é¢é£ãããšã©ãŒçïŒ ããã©ãŒãã³ã¹ããŒã«ãŒãšãšã©ãŒãçžé¢ãããããšã§ãé ãã ãã§ãªã倱æããããæäœãç¹å®ã§ããŸãã
- æéã®ååžïŒ ã¿ã€ãã³ã°ã®ååžãèŠèŠåããïŒäŸïŒãã¹ãã°ã©ã ã䜿çšïŒããšã§ãããã©ãŒãã³ã¹ãäžè²«ããŠè¯å¥œãªã®ãããããšã倧ããªã°ãã€ããããã®ããç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
- å°ççãªããã©ãŒãã³ã¹ã®å èš³ïŒ ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«ãšã£ãŠãå°åãåœããšã«ããã©ãŒãã³ã¹ããŒã¿ãéçŽããããšã¯äžå¯æ¬ ã§ããããã«ãããCDNã®ããã©ãŒãã³ã¹ããµãŒããŒã®è¿æ¥æ§ããŸãã¯å°åã®ã€ã³ã¿ãŒãããã€ã³ãã©ã«é¢é£ããåé¡ãæããã«ãªãããšããããŸããäŸãã°ãããã¢ããªã±ãŒã·ã§ã³ã¯åç±³ã§ã¯å®ç§ã«åäœããããæ±åã¢ãžã¢ã§ã¯é«ãã¬ã€ãã³ã·ã«æ©ãŸããããããããŸãããããã¯ãããè¯ãã³ã³ãã³ãé ä¿¡ãå°åãµãŒããŒã®å±éã®å¿ èŠæ§ã瀺åããŠããŸãã
- ããã€ã¹ãšãã©ãŠã¶ã®çš®é¡ã«ããå èš³ïŒ ç°ãªãããã€ã¹ïŒãã¹ã¯ããããã¿ãã¬ãããã¢ãã€ã«ïŒããã©ãŠã¶ã¯ãããããç°ãªãããã©ãŒãã³ã¹ç¹æ§ãæã£ãŠããŸãããããã®èŠçŽ ã«ãã£ãŠããŒã¿ãéçŽããããšã§ãæé©åã調æŽããã®ã«åœ¹ç«ã¡ãŸããè€éãªã¢ãã¡ãŒã·ã§ã³ã¯ããã€ãšã³ãã®ãã¹ã¯ãããã§ã¯ããŸãæ©èœãããããããŸããããçºå±éäžåžå Žã®äœé»åã¢ãã€ã«ããã€ã¹ã§ã¯é倧ãªããã©ãŒãã³ã¹ã®äœäžãæãå¯èœæ§ããããŸãã
- ãŠãŒã¶ãŒã»ã°ã¡ã³ãã®ããã©ãŒãã³ã¹ïŒ ãŠãŒã¶ãŒãã»ã°ã¡ã³ãåããŠããå ŽåïŒäŸïŒãµãã¹ã¯ãªãã·ã§ã³å±€ããŠãŒã¶ãŒããŒã«ããšã³ã²ãŒãžã¡ã³ãã¬ãã«å¥ïŒãåã»ã°ã¡ã³ãã®ããã©ãŒãã³ã¹ãåæããããšã§ãç¹å®ã®ãŠãŒã¶ãŒã°ã«ãŒãã«åœ±é¿ãäžããç¹å®ã®åé¡ãçºèŠã§ããŸãã
éçŽãã¯ããã¯
éçŽã¯æ§ã ãªææ®µã§éæã§ããŸãïŒ
- ãµãŒããŒãµã€ãéçŽïŒ ããã©ãŒãã³ã¹ç£èŠãµãŒãã¹ã¯éåžžãããã¯ãšã³ãã§éçŽãåŠçããŸããçã®ããŒã¿ãã€ã³ããåãåããããããåŠçããã¯ãšãªå¯èœãªåœ¢åŒã§ä¿åããŸãã
- ã¯ã©ã€ã¢ã³ããµã€ãéçŽïŒæ³šæãå¿ èŠïŒïŒ ããã€ãã®ã·ããªãªã§ã¯ããããã¯ãŒã¯ãã©ãã£ãã¯ãåæžããããã«ãããŒã¿ãéä¿¡ããåã«ã¯ã©ã€ã¢ã³ãåŽã§åºæ¬çãªéçŽïŒå¹³åãã«ãŠã³ãã®èšç®ãªã©ïŒãè¡ãããããšããããŸãããã ããããã¯ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹èªäœã«åœ±é¿ãäžããªãããã«æ éã«è¡ãå¿ èŠããããŸãã
- ããŒã¿ãŠã§ã¢ããŠã¹ãšããžãã¹ã€ã³ããªãžã§ã³ã¹ããŒã«ïŒ é«åºŠãªåæã®ããã«ãããã©ãŒãã³ã¹ããŒã¿ãããŒã¿ãŠã§ã¢ããŠã¹ã«ãšã¯ã¹ããŒãããBIããŒã«ã䜿çšããŠåæããããšãã§ããŸããããã«ãããä»ã®ããžãã¹ã¡ããªã¯ã¹ãšã®è€éãªçžé¢é¢ä¿ãåæã§ããŸãã
å®è·µçãªäŸãšãŠãŒã¹ã±ãŒã¹ïŒã°ããŒãã«ãªèŠç¹ïŒ
_tracingMarker ãšããŒã¿éçŽããçŸå®äžçã®ã°ããŒãã«ãªã·ããªãªã§ã©ã®ããã«é©çšã§ããããèããŠã¿ãŸãããïŒ
äŸ1ïŒeã³ããŒã¹ã®ãã§ãã¯ã¢ãŠãããã»ã¹ã®æé©å
ã·ããªãªïŒ ã°ããŒãã«ãªeã³ããŒã¹ãã©ãããã©ãŒã ãããã§ãã¯ã¢ãŠãããã»ã¹äžã®ã³ã³ããŒãžã§ã³çã®äœäžãçµéšããŠããŸããç°ãªãå°åã®ãŠãŒã¶ãŒãããæ§ã ãªã¬ãã«ã®ããã©ãŒãã³ã¹ãå ±åãããŠããŸãã
å®è£ ïŒ
- æ¯æãè©³çŽ°ã®æ€èšŒãé
éãªãã·ã§ã³ã®ååŸã泚æã®åŠçã賌å
¥ã®ç¢ºèªãšãã£ãäž»èŠãªã¹ãããã«
_tracingMarkerãé 眮ããŸãã - ãã®ããŒã¿ãšããŠãŒã¶ãŒã®å°ççäœçœ®ãããã€ã¹ã¿ã€ãããã©ãŠã¶ãäžç·ã«åéããŸãã
éçŽãšã€ã³ãµã€ãïŒ
- ãé éãªãã·ã§ã³ã®ååŸãããŒã«ãŒã®æéãéçŽããŸãã
- ã€ã³ãµã€ãïŒ åæã®çµæããªãŒã¹ãã©ãªã¢ãšãã¥ãŒãžãŒã©ã³ãã®ãŠãŒã¶ãŒã¯ãåç±³ã®ãŠãŒã¶ãŒïŒäžå€®å€ < 2ç§ïŒãšæ¯èŒããŠãèããé·ãé å»¶ïŒäŸïŒ95ããŒã»ã³ã¿ã€ã« > 10ç§ïŒãçµéšããŠããããšãæããã«ãªããŸãããããã¯ãé éAPIãµãŒããŒã®å Žæãããã®å°åã«ãããCDNã®åé¡ãåå ã§ããå¯èœæ§ããããŸãã
- ã¢ã¯ã·ã§ã³ïŒ APACå°åã§ã®é éãªãã·ã§ã³ã®CDNãã£ãã·ã³ã°ã調æ»ããããå°åã®é éããŒãããŒ/ãµãŒããŒãæ€èšããŸãã
äŸ2ïŒSaaSã¢ããªã±ãŒã·ã§ã³ã«ããããŠãŒã¶ãŒãªã³ããŒãã£ã³ã°ã®åŒ·å
ã·ããªãªïŒ Software-as-a-Service (SaaS) äŒæ¥ããæ°èåžå Žã®ãŠãŒã¶ãŒãåæãªã³ããŒãã£ã³ã°ãããŒäžã«é¢è±ããããšã«æ°ã¥ããŸããããã®ãããŒã«ã¯ãèšå®ã®ã»ããã¢ãããä»ã®ãµãŒãã¹ãšã®çµ±åãå«ãŸããŸãã
å®è£ ïŒ
- ãªã³ããŒãã£ã³ã°ãŠã£ã¶ãŒãã®åã¹ãããã«ãããæéãããŒã¯ããŸãïŒãŠãŒã¶ãŒãããã¡ã€ã«ã®äœæãåæããŒã¿ã®ã€ã³ããŒããçµ±åã®ã»ããã¢ããïŒäŸïŒã¯ã©ãŠãã¹ãã¬ãŒãžãµãŒãã¹ãžã®æ¥ç¶ïŒãæçµçãªèšå®ã®ç¢ºèªã
- ãŸããç¹å®ã®çµ±åã¢ãžã¥ãŒã«ã®ããã©ãŒãã³ã¹ãããŒã¯ããŸãã
éçŽãšã€ã³ãµã€ãïŒ
- ãŠãŒã¶ãŒã®åœãšçµ±åã®çš®é¡ããšã«ããçµ±åã®ã»ããã¢ãããã®æéãéçŽããŸãã
- ã€ã³ãµã€ãïŒ ããŒã¿ã«ãããšãåç±³ãã¢ããªã«ã®äžéšã®ãŠãŒã¶ãŒã¯ãç¹å®ã®ã¯ã©ãŠãã¹ãã¬ãŒãžãããã€ããŒãšã®çµ±åã«èŠåŽããŠããã倱æçãé«ãæéãé·ããªã£ãŠããŸããããã¯ããããã¯ãŒã¯ã®äžå®å®ããããã®ãããã€ããŒã®å°åçãªAPIããã©ãŒãã³ã¹ãåå ãããããŸããã
- ã¢ã¯ã·ã§ã³ïŒ ãããã®å°åã«ä»£æ¿ã®çµ±åãªãã·ã§ã³ãæäŸããããç¹å®ã®çµ±åã«å¯ŸããŠããå ç¢ãªãšã©ãŒãã³ããªã³ã°ãšå詊è¡ã¡ã«ããºã ãæäŸããŸãã
äŸ3ïŒã°ããŒãã«ãã¥ãŒã¹ãã©ãããã©ãŒã ã®ã³ã³ãã³ãèªã¿èŸŒã¿ã®æé©å
ã·ããªãªïŒ ãããã¥ãŒã¹ãŠã§ããµã€ãããäžçäžã®èªè ãç¹ã«åž¯åå¹ ãéãããŠããã¢ãã€ã«ããã€ã¹ã§ã®èšäºã®é«éèªã¿èŸŒã¿ã確ä¿ããããšãç®æããŠããŸãã
å®è£ ïŒ
- äž»èŠãªèšäºã³ã³ãã³ããé å»¶èªã¿èŸŒã¿ãããç»åãåºåãé¢é£èšäºã®èªã¿èŸŒã¿ãããŒã¯ããŸãã
- æšæž¬å¯èœãªå Žåã¯ãããã€ã¹ã¿ã€ãïŒã¢ãã€ã«/ãã¹ã¯ãããïŒãšããããã®ãããã¯ãŒã¯é床ã§ããŒã¿ãã¿ã°ä»ãããŸãã
éçŽãšã€ã³ãµã€ãïŒ
- ã€ã³ã¿ãŒãããé床ãé ããšå ±åãããŠããå°åã®ã¢ãã€ã«ãŠãŒã¶ãŒã«ã€ããŠããé å»¶èªã¿èŸŒã¿ãããç»åãã®æéãéçŽããŸãã
- ã€ã³ãµã€ãïŒ æ±åã¢ãžã¢ã®ã¢ãã€ã«ãŠãŒã¶ãŒã«ãããç»åèªã¿èŸŒã¿ã®99ããŒã»ã³ã¿ã€ã«ãéåžžã«é«ããCDNã䜿çšããŠããã«ããããããç»åã®é ä¿¡ãé ãããšã瀺ããŠããŸããåæã®çµæãæé©åãããŠããªãç»åãã©ãŒãããã倧ããªãã¡ã€ã«ãµã€ãºãæäŸãããŠããããšãããããŸããã
- ã¢ã¯ã·ã§ã³ïŒ ããç©æ¥µçãªç»åå§çž®ãå®è£ ãããµããŒããããŠããå Žåã¯WebPãªã©ã®ææ°ã®ç»åãã©ãŒãããã䜿çšãããããã®å°ååãã«CDNæ§æãæé©åããŸãã
課é¡ãšèæ ®äºé
_tracingMarker ã¯åºæ¿çãªå¯èœæ§ãæäŸããŸããããã®å®éšçãªæ§è³ªãšããã©ãŒãã³ã¹ããŒã¿åéã«äŒŽã課é¡ãšèæ
®äºé
ãèªèããããšãéèŠã§ãïŒ
- å®éšçã¹ããŒã¿ã¹ïŒ å®éšçæ©èœã§ãããããAPIã¯å°æ¥ã®ReactããŒãžã§ã³ã§å€æŽãŸãã¯åé€ãããå¯èœæ§ããããŸãããããæ¡çšããéçºè ã¯ãæœåšçãªãªãã¡ã¯ã¿ãªã³ã°ã«åããå¿ èŠããããŸãã
- ããã©ãŒãã³ã¹ãªãŒããŒãããïŒ å¹ççãªã¡ã«ããºã ã§ãã£ãŠããã³ãŒããèšæž¬ããããšã¯ããããªããã©ãŒãã³ã¹ãªãŒããŒããããçºçãããå¯èœæ§ããããŸããããã¯ç¹ã«æ¬çªç°å¢ã§éèŠã§ããèšæž¬èªäœããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«æªåœ±é¿ãäžããªãããšã確èªããããã«ã培åºçãªãã¹ããå¿ èŠã§ãã
- ããŒã¿éïŒ å€§èŠæš¡ãªãŠãŒã¶ãŒããŒã¹ãã詳现ãªããŒã¿ãåéãããšãèšå€§ãªéã®ããŒã¿ãçæãããã¹ãã¬ãŒãžãšåŠçã®ã³ã¹ããçºçããå¯èœæ§ããããŸããå¹ççãªéçŽãšãµã³ããªã³ã°æŠç¥ãäžå¯æ¬ ã§ãã
- ãã©ã€ãã·ãŒãžã®æžå¿µïŒ ãŠãŒã¶ãŒããããã©ãŒãã³ã¹ããŒã¿ãåéããå Žåãç¹ã«æ¬çªç°å¢ã§ã¯ããã©ã€ãã·ãŒèŠå¶ïŒGDPRãCCPAãªã©ïŒã峿 Œã«éµå®ããå¿ èŠããããŸããããŒã¿ã¯å¯èœãªéãå¿ååããããŒã¿åéã«ã€ããŠãŠãŒã¶ãŒã«éç¥ããå¿ èŠããããŸãã
- éçŽã®è€éãïŒ å ç¢ãªããŒã¿éçŽããã³åæãã€ãã©ã€ã³ãæ§ç¯ããã«ã¯ãçžåœãªãšã³ãžãã¢ãªã³ã°ã®åŽåãšå°éç¥èãå¿ èŠã§ããæ¢åã®ããã©ãŒãã³ã¹ç£èŠãœãªã¥ãŒã·ã§ã³ã掻çšããæ¹ãçŸå®çã§ããããšãå€ãã§ãã
- ããŒã¿ã®æ£ããè§£éïŒ ããã©ãŒãã³ã¹ããŒã¿ã¯æã«èª€è§£ãæãããšããããŸããæèãçè§£ããä»ã®ã¡ããªã¯ã¹ãšçžé¢ãããæ©æ¥ãªçµè«ãé¿ããããšãéèŠã§ããäŸãã°ãé·ãããŒã«ãŒã®æéã¯ãå¿ ãããéå¹çãªæäœã§ã¯ãªããå¿ èŠã ãé ãåææäœãåå ã§ããå¯èœæ§ããããŸãã
- ã°ããŒãã«ãªãããã¯ãŒã¯ã®å€åæ§ïŒ ã°ããŒãã«ã«ããŒã¿ãéçŽãããšããããšã¯ã倧ããç°ãªããããã¯ãŒã¯æ¡ä»¶ã«å¯ŸåŠããããšãæå³ããŸããã¯ã©ã€ã¢ã³ããµã€ãã®æäœãé ãããã«èŠãããã®ã¯ããããã¯ãŒã¯ã®é å»¶ã§ããå¯èœæ§ããããŸããããããåºå¥ããã«ã¯ãæ éãªèšæž¬ãšåæãå¿ èŠã§ãã
`_tracingMarker` ãæ¡çšããããã®ãã¹ããã©ã¯ãã£ã¹
_tracingMarker ã®å¯èœæ§ã掻çšããããšããéçºè
åãã«ã以äžã®ãã¹ããã©ã¯ãã£ã¹ãæ€èšããŠãã ããïŒ
- ããŒã«ã«ã§å§ããïŒ ãŸãã¯éçºç°å¢ã§
_tracingMarkerã䜿çšããŠããã®æ©èœãçè§£ããããŒã«ãŒã®é 眮ãå®éšããããšããå§ããŸãã - äž»èŠãªé åãåªå ããïŒ ãã¹ãŠãããŒã¯ããããšããã®ã§ã¯ãªããéèŠãªãŠãŒã¶ãŒãããŒãæ¢ç¥ã®ããã©ãŒãã³ã¹ã®ããã«ããã¯ã«èšæž¬ãéäžãããŸãã
- ããŒã¿æŠç¥ãçå®ããïŒ åéããããŒã¿ãã©ã®ããã«ä¿åãéçŽãåæããããèšç»ããŸããé©åãªããã©ãŒãã³ã¹ç£èŠãµãŒãã¹ãéžæããããã«ã¹ã¿ã ãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããŸãã
- ãªãŒããŒããããç£èŠããïŒ èšæž¬ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãäœäžãããªãããã«ããã®ããã©ãŒãã³ã¹ãžã®åœ±é¿ã宿çã«æž¬å®ããŸãã
- æå³ã®ããååã䜿çšããïŒ ããŒã«ãŒã«ã¯ãäœã枬å®ããŠããããæ£ç¢ºã«åæ ãããæç¢ºã§èª¬æçãªååãä»ããŸãã
- ããŒã¿ãæèåããïŒ ããã©ãŒãã³ã¹ã¡ããªã¯ã¹ãšäžç·ã«ãåžžã«é¢é£ããã³ã³ããã¹ãïŒãŠãŒã¶ãŒãšãŒãžã§ã³ããå Žæãããã€ã¹ã¿ã€ãããã©ãŠã¶ã®ããŒãžã§ã³ïŒãåéããŸãã
- ååŸ©ãšæ¹è¯ïŒ ããã©ãŒãã³ã¹ã®æé©åã¯ç¶ç¶çãªããã»ã¹ã§ããéçŽãããããŒã¿ãç¶ç¶çã«åæããã¢ããªã±ãŒã·ã§ã³ã®é²åã«åãããŠèšæž¬ãæ¹è¯ããŸãã
- ææ°æ
å ±ãå
¥æããïŒ
_tracingMarkerã®æŽæ°ã倿Žã«ã€ããŠã¯ãReactã®å®éšçæ©èœã®ããŒãããããšããã¥ã¡ã³ããåžžã«ç¢ºèªããŠãã ããã
Reactããã©ãŒãã³ã¹ç£èŠã®æªæ¥
_tracingMarker ã®ãããªæ©èœã®éçºã¯ãæŽç·Žãããããã©ãŒãã³ã¹ã€ã³ãµã€ããéçºè
ã«æäŸãããšããReactã®ç¶ç¶çãªã³ãããã¡ã³ãã瀺ããŠããŸãããããã®æ©èœãæçããã³ã¢ã©ã€ãã©ãªãéçºè
ããŒã«ã«ããã«çµ±åãããã«ã€ããŠã以äžã®ãããªããšãæåŸ
ã§ããŸãïŒ
- æšæºåãããAPIïŒ ããã©ãŒãã³ã¹èšæž¬ã®ããã®ããå®å®ããæšæºåãããAPIãç»å Žããæ¡çšãããç°¡åã§ä¿¡é Œæ§ã®é«ããã®ã«ãªããŸãã
- 匷åãããéçºè ããŒã«ïŒ React Developer Toolsãšã®ããæ·±ãçµ±åã«ããããã¬ãŒã¹ãããããŒã¿ã®ããçŽæçãªèŠèŠåãšåæãå¯èœã«ãªããŸãã
- èªåèšæž¬ïŒ ç¹å®ã®ããã©ãŒãã³ã¹åŽé¢ãReactèªäœã«ãã£ãŠèªåçã«èšæž¬ãããå¯èœæ§ããããéçºè ãå¿ èŠãšããæäœæ¥ãåæžãããŸãã
- AIã«ããã€ã³ãµã€ãïŒ å°æ¥ã®ããã©ãŒãã³ã¹ç£èŠãœãªã¥ãŒã·ã§ã³ã¯ãAIãæŽ»çšããŠç°åžžãèªåçã«ç¹å®ããæé©åãææ¡ããéçŽãããããŒã¿ã«åºã¥ããŠæœåšçãªããã©ãŒãã³ã¹åé¡ãäºæž¬ãããããããŸããã
ã°ããŒãã«ãªéçºã³ãã¥ããã£ã«ãšã£ãŠããããã®é²æ©ã¯ãå Žæãããã€ã¹ã«é¢ä¿ãªãããã¹ãŠã®ãŠãŒã¶ãŒã«ãšã£ãŠã¢ããªã±ãŒã·ã§ã³ãæé©ã«åäœããããšãä¿èšŒããããã®ããã匷åãªããŒã«ãæå³ããŸãã詳现ãªããã©ãŒãã³ã¹ããŒã¿ãããã°ã©ã çã«åéã»éçŽããèœåã¯ãçã«å¿çæ§ãé«ã髿§èœãªã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®éèŠãªäžæ©ã§ãã
çµè«
Reactã®å®éšçæ©èœã§ãã _tracingMarker ã¯ãããã©ãŒãã³ã¹ç£èŠã«ãããææãªããã³ãã£ã¢ã衚ããŠãããç²åºŠã®é«ãããŒã¿åéãšæŽç·ŽãããéçŽã®å¯èœæ§ãæäŸããŸããããŒã«ãŒãæŠç¥çã«é
眮ããå
ç¢ãªããŒã¿åéã»åææŠç¥ãå®è£
ããããšã§ãéçºè
ã¯å€æ§ãªã°ããŒãã«ãŠãŒã¶ãŒããŒã¹ã«ãããã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã«ã€ããŠè²Žéãªã€ã³ãµã€ããåŸãããšãã§ããŸãããŸã å®éšçã§ã¯ãããŸããããã®ååãšæœåšçãªå¿çšãçè§£ããããšã¯ã仿¥ã®çžäºæ¥ç¶ãããããžã¿ã«äžçã§åè¶ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããããšãç®æããã¹ãŠã®éçºè
ã«ãšã£ãŠäžå¯æ¬ ã§ãããã®æ©èœãé²åããã«ã€ããŠãããã¯ééããªããäžçäžã®ããã©ãŒãã³ã¹ãæèããReactéçºè
ã®æŠåšåº«ã®äžã§äžå¯æ¬ ãªããŒã«ã«ãªãã§ãããã
å
責äºé
ïŒ _tracingMarker ã¯å®éšçãªæ©èœã§ãããã®APIãšåäœã¯ãReactã®å°æ¥ã®ãªãªãŒã¹ã§å€æŽãããå¯èœæ§ããããŸããåžžã«ææ°æ
å ±ã«ã€ããŠã¯ãå
¬åŒã®Reactããã¥ã¡ã³ããåç
§ããŠãã ããã